home *** CD-ROM | disk | FTP | other *** search
/ Archive Magazine CD 1995 / Archive Magazine CD 1995.iso / discs / shareware / share_41 / assembler / examples / sum < prev    next >
Text File  |  1991-05-15  |  764b  |  28 lines

  1. ; NAME       sum
  2. ; PURPOSE    sums the numbers 0 to number1
  3. ; DESIGN  
  4. ;            result <- 0
  5. ;            load number1
  6. ;            for  number1 <- number1 downto 0
  7. ;              add number1 to result
  8. ;            end for
  9. ;            store result in number3
  10. ; NOTE
  11. ;            sum to 50000 is maximum without overflow
  12. ;            on arm 2 this takes 0.076 seconds
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19. ldr r7, [r1]            ; load number 1 to r7
  20. mov r8, #0              ; set result r8 to zero
  21. .loop     
  22.   add r8, r8, r7        ; add number to result
  23.   sub r7, r7, #1        ; decrement the number
  24.   cmp r7, #0            ; has the number reached zero
  25. bge loop                ; branch if its greater than zero back round the loop
  26. str r8, [r3]            ; store the result in number 3
  27.  
  28.